Code sample Home

Hover text demo

When user presses left mouse button - the hover text with cursor coordinates will appear at left-bottom corner of graphics window. When user moves cursor - the text disappear.

...
lcEventSetProc( LC_EVENT_MOUSEMOVE, EventProc, 0, 0 );
lcEventSetProc( LC_EVENT_LBDOWN, EventProc, 0, 0 );
...
  
//-----------------------------------------------
void CALLBACK EventProc (HANDLE hEvent)
{
  int EventType;
  EventType = lcPropGetInt( hEvent, LC_PROP_EVENT_TYPE );
  switch( EventType ){
    ...
    case LC_EVENT_MOUSEMOVE:  OnMouseMove( hEvent );  break;
    case LC_EVENT_LBDOWN:     OnLBDown( hEvent );  break;
    ...
  }
}

double Xcur = 0.0;
double Ycur = 0.0;
  
//-----------------------------------------------
void OnLBDown (HANDLE hEvent)
{
  HANDLE hLcWnd;
  double X, Y;
  int    WndW, WndH;
  WCHAR  szText[64];

  // graphics window handle
  hLcWnd = lcPropGetHandle( hEvent, LC_PROP_EVENT_WND );
  // get window size (pixels)
  WndW = lcPropGetInt( hLcWnd, LC_PROP_WND_WIDTH );
  WndH = lcPropGetInt( hLcWnd, LC_PROP_WND_HEIGHT );
  // cursor coordinates (drawing coordinate space)
  X = lcPropGetFloat( hEvent, LC_PROP_EVENT_FLOAT1 );
  Y = lcPropGetFloat( hEvent, LC_PROP_EVENT_FLOAT2 );
  swprintf( szText, L" X=%.2f  Y=%.2f ", X, Y );
  Xcur = X;
  Ycur = Y;
  // draw text at left bottom corner of the window
  lcWndHoverText( hLcWnd, szText, 10, WndH-10, LC_TA_LEFBOT );
}

//-----------------------------------------------
void OnMouseMove (HANDLE hEvent)
{
  HANDLE hLcWnd;
  double X, Y;
   
  hLcWnd = lcPropGetHandle( hEvent, LC_PROP_EVENT_WND );
  X = lcPropGetFloat( hLcWnd, LC_PROP_WND_CURX );
  Y = lcPropGetFloat( hLcWnd, LC_PROP_WND_CURY );
  ...
  if (X!=Xcur || Y!=Ycur){
    // hide hover text
    lcWndHoverText( hLcWnd, L"", 0, 0, 0 );
  }
}
This will looks like this:



Used functions:

lcWndHoverText

lcPropGetFloat
lcPropGetHandle
lcPropGetInt